home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / ASTPrintExpr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-27  |  1.2 KB  |  45 lines  |  [TEXT/KAHL]

  1. /* ASTPrintExpr.h */
  2.  
  3. #ifndef Included_ASTPrintExpr_h
  4. #define Included_ASTPrintExpr_h
  5.  
  6. /* ASTPrintExpr module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* TrashTracker */
  12. /* Memory */
  13. /* ASTExpression */
  14. /* PcodeObject */
  15. /* CompilerRoot */
  16. /* PromotableTypeCheck */
  17.  
  18. #include "PcodeObject.h"
  19. #include "CompilerRoot.h"
  20.  
  21. struct ASTPrintExprRec;
  22. typedef struct ASTPrintExprRec ASTPrintExprRec;
  23.  
  24. /* all memory allocated in this module is through TrashTracker */
  25.  
  26. /* forwards */
  27. struct TrashTrackRec;
  28. struct ASTExpressionRec;
  29.  
  30. /* create a new AST expression print */
  31. ASTPrintExprRec*        NewPrintExpr(struct ASTExpressionRec* Expression,
  32.                                             struct TrashTrackRec* TrashTracker, long LineNumber);
  33.  
  34. /* type check the expr print node.  this returns eCompileNoError if */
  35. /* everything is ok, and the appropriate type in *ResultingDataType. */
  36. CompileErrors                TypeCheckPrintExpr(DataTypes* ResultingDataType,
  37.                                             ASTPrintExprRec* PrintExpr, long* ErrorLineNumber,
  38.                                             struct TrashTrackRec* TrashTracker);
  39.  
  40. /* generate code for an expr print.  returns True if successful, or False if it fails. */
  41. MyBoolean                        CodeGenPrintExpr(struct PcodeRec* FuncCode,
  42.                                             long* StackDepthParam, ASTPrintExprRec* PrintExpr);
  43.  
  44. #endif
  45.